iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
自我挑戰組

老菜雞挑戰30天學爆Unity&C#會成功嗎?...系列 第 23

【Day23】老菜雞學下樓梯遊戲之新增音效(Unity Audio Source)

  • 分享至 

  • xImage
  •  

前言

昨天總算把這款遊戲的動畫部分學習完了,接下來要學習如何幫遊戲增加音效...


Audio Source

Audio Source在Scene中播放Audio Clip,以達到音效效果,Audio Source可以播放任何類型的Audio Clip。

應用

我們現在要讓Player踩到Normal階梯時有音效的播出,需要在物件上添加屬性並寫段程式碼去控制它。

首先,拉音效素材到Assets裡→點選Normal物件→點Add Component→新增音效的功能叫作Audio Source
https://ithelp.ithome.com.tw/upload/images/20221005/20152411bkAAcNJiSd.jpg

https://ithelp.ithome.com.tw/upload/images/20221005/20152411LzEogo2tMe.jpg

https://ithelp.ithome.com.tw/upload/images/20221005/20152411bzmdXMZpIU.jpg

新增完後可以看到右側Audio Source欄位有一列叫作AudioClip,可以直接把音效拉過去↓

接著就可以來寫程式碼了。

程式碼的寫法是這樣
other.gameObject. GetComponent<AudioSource>().Play();
我們要讓Player踩到Normal階梯時,會取得Normal屬性中的AudioSource,並且要讓音效播放出來(要將這行加在if Player踩到Normal階梯的判斷式裡面)

存檔後會發現有一個Normal階梯上會顯示出喇叭的圖形。
https://ithelp.ithome.com.tw/upload/images/20221005/20152411B2rPqC1jQS.jpg

由於預設Audio Source的Play On Awake是打勾的,代表物件一旦被enabled就會被播放一次音效,然後Player踩到後又會再播一次,所以就會一直在我們不希望的時刻播放出音效。所以這邊我們要將Play On Awake取消打勾,讓Player踩到Normal階梯後才播放音效。
https://ithelp.ithome.com.tw/upload/images/20221005/20152411o6i2mN77oD.jpg

目前其他階梯都還沒有播放音效的屬性,由於我們先前有將Normal弄成Prefab了,所以可以直接點選該物件→點開右上Overrides→點Apply All
https://ithelp.ithome.com.tw/upload/images/20221005/20152411CrOM1CCnRV.jpg
現在可以發現所有Normal階梯都有喇叭圖形了,代表它們都含有Audio Source。
https://ithelp.ithome.com.tw/upload/images/20221005/20152411Y5ySPa1oMF.jpg


  • 參考網址:https://www.youtube.com/watch?v=nPW6tKeapsM&ab_channel=GrandmaCan-%E6%88%91%E9%98%BF%E5%AC%A4%E9%83%BD%E6%9C%83

  • 音效、圖片 : 遊戲素材
    (素材由安德斯提供,感謝大大/images/emoticon/emoticon41.gif)


上一篇
【Day22】老菜雞學下樓梯遊戲之Unity動畫系統之複習(Animation Layer&Parameters&Transitions)
下一篇
【Day24】老菜雞學下樓梯遊戲之音效屬性(Unity Audio Source Properties)
系列文
老菜雞挑戰30天學爆Unity&C#會成功嗎?...30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言